<?php
/**
 * Created by PhpStorm.
 * User: gengxin
 * Date: 2016/3/17
 * Time: 10:27
 */
class XX extends xx
{
    /**
     * 一览
     */
    public function index()
    {
        $id = I('id');

        $this->assign('id' ,$id);
        $this->display();
    }

    /**
     * 添加
     */
    public function add()
    {
        $this->display();
    }

    /**
     * 添加处理
     */
    public function doAdd()
    {
        $key1 = I('key1' , '' , 'string');
        $key2 = I('key2' , 0, 'int');
        $key3 = I('key3' , 0.0, 'float');
        $key4 = I('key4');  // 这个是数组
        // 参数检查
        if (!$key1 || !$key2 || !$key3 || !$key4) {
            $this->showMessage(array(),self::ERROR_CODE, self::PARAM_ERROR);
        }

        // explode处理
        $key4_arr = explode(',' , $key4);
        //        ...
        // key 的处理
        $data = array(
            'key1' => $key1,
            'key2' => $key2,
            'key3' => $key3
            //             ...
        );

        // 多条记录处理
        foreach ($key4_arr as $key => $val) {
            $dataArr[] = $val;
        }

        M()->startTrans();  // translation

        $res1 = M('')->add($data);  // add
        $res2 = M('')->addAll($dataArr);  // add
        //        $res1 = M()->add($data , array(), true);  //replace
        //        $res2 = M()->addAll($data , array(), true);  //replace


        // 初期后台没必要使用事务，因为操作的人不多
        if($res1 && $res2) {
            // success
            M()->commit(); // translation
            $this->showMessage(); // ajax
            $this->success();  // form
        } else {
            // fail
            M()->rollback();  // translation
            $this->showMessage(array(), self::ERROR_CODE, self::ERROR_MSG); // ajax
            $this->error(); // form
        }
    }

    /**
     * 编辑
     */
    public function edit()
    {
        $id = I('id');
        if (!(isset($id) && $this->checkAvalible($id))){
            $this->redirect('Public:error-404');
        }
        $model = M('');
        $info = $model->where(array('id' => $id))->find();
        $this->assign('info', $info)
            ->display();
    }

    /**
     * 编辑处理
     */
    public function doEdit()
    {
        $id = I('id');
        if (!(isset($id) && $this->checkIdAvailable($id))){
            $this->redirect('Public:error-404');
        }
        $data = array(
            //            '' => ,
            // 同doAdd
        );
        // 其他处理同add
        $model = M('');
        $res = $model->where(array('id' => $id))->save($data);
        if ($res !== false) {
            $this->showMessage(array());
        } else {
            $this->showMessage(array(), self::ERROR_CODE, self::ERROR_MSG);
        }
    }
}